import Vue from 'vue'
import App from './App.vue'
//导入路由
import router from './router'
//导入状态管理
import store from './store'
//引入写好的filters文件
import * as filters from '@/filters'      
// 使用循环注册的方式
import * as directives from '@/directives'
// 导入mock，虚拟数据
import './mock/index.js'
import i18n from '@/i18n/index.js' //国际化
// 导入微信授权工具
import wechatAuth from '@/utils/wechat-auth'
//引入全局样式
// import "@/styles/global.scss";

//引入图标
import "@/assets/icons/index.js";
// //引入字体图标
// import "@/assets/fonts/index.scss";
// 导入全局组件注册
import '@/plugins/global-components.js';
import "@vant/touch-emulator";


//批量导入全局方法
import {extendVueWithGlobalProperties } from '@/utils/extendVue';  
  
// 调用函数以添加全局方法  
extendVueWithGlobalProperties();  

Vue.config.productionTip = false;
import Vant from 'vant';
import 'vant/lib/index.css';

Vue.use(Vant);
import elementUi from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; // 引入样式文件
Vue.use(elementUi);
// 开始遍历注册-自定义指令
Object.keys(directives).forEach(key => {
  Vue.directive(key, directives[key])
})

// 开始遍历注册-过滤器
Object.keys(filters).forEach(key => {
  Vue.filter(key, filters[key]);
})

// 挂载微信授权工具到Vue原型
Vue.prototype.$wechatAuth = wechatAuth

// 初始化微信授权（在微信环境中自动执行）
if (wechatAuth.isWechat) {
  wechatAuth.init((uid) => {
    if (uid) {
      console.log('🎉 微信授权成功，UID:', uid)
      // 将UID存储到Vuex
      store.commit('setUserId', uid)
    }
  })
}

new Vue({
  router,
  store,
  i18n, //使用国际化
  render: h => h(App)
}).$mount('#app');
